Field of the Invention
The present invention relates to a communications controller for data storage and processing intermediately between a data-processing host and a data communications link, and it is an object of the present invention to provide a controller having flexibility of operation and requiring minimal host supervision.
It is well known in the art to provide data communications between mutually remote data processing systems via modulated carrier landline links, radio links or direct wire connection, using any one of a plurality of well known codes and of well known protocols.
It is usual that a data link comprises a modulator/demodulator (hereinafter referred to as a modem) at either end each under the control of their respective host. The host originating a message provides that message, pre-coded and complete with error-checking characters, bit-by-bit to the transmitting modem. The coding of the message, the insertion of error-checking characters, and the servicing of the modem once for every transmitted bit impose a taxing burden on the host, taking up much operating time that would more profitably be spent on other tasks and ruining the continuity of the execution of other tasks by frequent interruptions. In the extreme case, small or slow hosts may possess insufficient processing capacity or speed of execution to fulfil the various coding, error character generation, and modem servicing requirements between successive demands by the modem for a fresh transmission bit, leading not only to a complete abandonment of alternative task execution but also to a failure in the data on the data link itself.
A host in receipt of a data communications message receives that message bit-by-bit from the modem and is subject to bit-by-bit interruption, decoding and error checking character verification requirements. The receiving host is thereby no better off than the transmitting host.
An additional disadvantage in current data communications methods is the large amount of manpower, time and memory space consuming software required to be written for each host, especially in those hosts which may be asked to communicate using a plurality of protocols and codes.
A host is rarely linked directly to a modem. An interface of some kind is usually provided therebetween. Current interfaces are generally code and protocol specific. As it is increasingly the case that a processor is expected to communicate with more than one remote system, and that different systems observe different protocols and codes, the number and consequent expense of the required plurality of interfaces increases.
In certain so-called synchronous modes of transmission it is a requirement on the receiving host that it knows in advance the beginning bits of each byte. It is a deficiency in the current art that should that information be lost there is no method of recovery from that loss.
It is the current trend that a plurality of processors or small size and/or data terminals of limited processing capacity are provided together on one site, such as a factory, and are required to communicate not only with one another, but also with remote equipment at other sites such as a head office or another factory. It is generally the case that almost the entire operation of a supervisory processor is required to be sacrificed in order to achieve this aim.
It is therefore desirable to provide means whereby a host may conduct data communications with any one of a plurality of remote or local systems under conditions of minimal processing requirements. It is further desirable that apparatus be provided for automatic byte-synchronisation of synchronously received, plural-bit characters.